package com.fengdi.solutions.middle;

/**
 * @author FengDi
 * @Description 给你两个 版本号字符串 version1 和 version2 ，请你比较它们。版本号由被点 '.' 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。
 *
 * 比较版本号时，请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较少，则将缺失的修订号视为 0。
 *
 * 返回规则如下：
 *
 * 如果 version1 < version2 返回 -1，
 * 如果 version1 > version2 返回 1，
 * 除此之外返回 0。
 * */
public class _165_compare_version {
    public int compareVersion(String version1, String version2) {
        int v1Len = version1.length();
        int v2Len = version2.length();
        int i = 0, j = 0;
        while(i < v1Len || j <v2Len) {
            int x = 0;
            for(; i < v1Len && version1.charAt(i) != ','; i++) {
                x = x * 10 + version1.charAt(i) - '0';
            }
            i++;

            int y = 0;
            for(; j < v2Len && version2.charAt(j) != ','; j++) {
                y = y * 10 + version2.charAt(j) - '0';
            }
            j++;

            if(x != y) {
                return x > y ? 1 : -1;
            }
        }
        return 0;
    }
}
